package com.wgh.pay.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 支付DTO
 * 用于API请求和响应中的支付信息传递
 */
@Data
public class PayDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 支付ID
     */
    private Long id;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 交易流水号
     */
    private String transactionId;

    /**
     * 支付总金额
     */
    private BigDecimal totalAmount;

    /**
     * 支付方式：0-支付宝，1-微信支付，2-银行卡支付
     */
    private Integer payType;

    /**
     * 支付状态：0-未支付，1-已支付，2-支付失败
     */
    private Integer payStatus;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 客户端IP
     */
    private String clientIp;

    /**
     * 通知URL
     */
    private String notifyUrl;

    /**
     * 通知状态：0-未通知，1-通知成功，2-通知失败
     */
    private Integer notifyStatus;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 渠道交易号
     */
    private String channelTradeNo;

    /**
     * 支付渠道返回的数据
     */
    private String channelData;
}